Build OpenCV with CUDA
Build OpenCV with CUDA
Table of Content
Build OpenCV on x64 ubuntu machine
Prerequisites#
sudo apt install cmake-qt-gui
install dependencies
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake unzip pkg-config
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libv4l-dev libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libblas-dev liblapack-dev gfortran
sudo apt-get install python3-dev
Download source#
wget https://github.com/opencv/opencv/archive/4.5.5.zip
wget https://github.com/opencv/opencv_contrib/archive/4.5.5.zip
# unzip
build process#
- set all option
- run configure
- run generate
- run make -j 8 from/on build folder
- check
config#

- Select source and build folder

- config python

-
config cuda

-
gpu arch wikipedia cuda gpu support


- dnn

- blas

- fast math

- contrib

- pkgconfig

config result#
- show
my changes
Commandline options:
-DOPENCV_EXTRA_MODULES_PATH:PATH="/home/user/opencv/opencv_contrib-4.5.5/modules" \
-DOPENCV_GENERATE_PKGCONFIG:BOOL="1" \
-DWITH_CUDA:BOOL="1" \
-DCUDA_ARCH_BIN:STRING="7.5" \
-DOPENCV_DNN_CUDA:BOOL="1" \
-DENABLE_FAST_MATH:BOOL="1" \
-DPYTHON3_EXECUTABLE:FILEPATH="/usr/bin/python3" -DBUILD_opencv_world:BOOL="1" \
-DCUDA_FAST_MATH:BOOL="1"
Cache file:
OPENCV_EXTRA_MODULES_PATH:PATH=/home/user/opencv/opencv_contrib-4.5.5/modules
OPENCV_GENERATE_PKGCONFIG:BOOL=1
WITH_CUDA:BOOL=1
CUDA_ARCH_BIN:STRING=7.5
OPENCV_DNN_CUDA:BOOL=1
ENABLE_FAST_MATH:BOOL=1
PYTHON3_EXECUTABLE:FILEPATH=/usr/bin/python3
BUILD_opencv_world:BOOL=1
CUDA_FAST_MATH:BOOL=1
Check#
- create new virtual env and activate
- run setup.py from
build/python_loaderfolder
import cv2
cv2.__version__
cv2.cuda.getCudaEnabledDeviceCount()